package com.zqxq.lottery.util;

import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * 说    明：   大乐透奖金算法
 * 创 建 人：	一刀·胡
 * 创建时间：	2018/3/20 16:47
 * 修 改 人：
 * 修改日期：
 **/
@Slf4j
@Component
public class CalculatorDLT extends Calculator{
    private static final int fNum = 5, bNum = 2, fMax = 35, bMax = 12;
    private static final int[][][] winners = {
            {{5, 2}},//一等奖
            {{5, 1}},//二等奖
            {{5, 0},{4, 2}},//三等奖
            {{4, 1},{3, 2}},//四等奖
            {{4, 0}, {3, 1}, {2, 2}},//五等奖
            {{3, 0}, {1, 2}, {2, 1}, {0, 2}}//六等奖
    };
    private static Object[] winningsList = { "A", "B", "C", 200, 10, 5 };


    /**
     * 说    明：   获取中奖描述信息
     * 创 建 人：	一刀·胡
     * 创建时间：	2018/3/27 11:22
     * 修 改 人：
     * 修改日期：
     **/
    @Override
    public String winInfo(int[] win, Integer betTimes) {
        return winInfo(win,winningsList,betTimes);
    }

    /**
     * 说    明：  蓝红号 复投【无胆拖玩法】
     * 创 建 人：	一刀·胡
     * 创建时间：	2018/3/21 9:46
     * @param lotteryNum 开奖号码
     * @param bettingNum 投注号码
     * @param playType  玩法
     * 修改日期：
     **/
    @Override
    public int[] win(String lotteryNum, String bettingNum, String playType) {
        return commonCal(lotteryNum,bettingNum,playType,fNum,bNum,fMax,bMax,winners);
    }

    public static void main(String[] args) {
        int[] win = new CalculatorDLT().win("02,06,09,04,08|02,03", "(17,26,32),11,12,18,20,21|(02),03,04,05", "2");
        System.out.println(JSONObject.toJSONString(win));
        System.out.println(new CalculatorDLT().winInfo(win,1));
    }

}
